Automated musical instruments have been known for many years. Automation of keyboard actuations has been accomplished in the piano, organ, carillon, etc. when the keyboard actuations are translated to perforations in a paper tape, which constitutes a storage medium, and then these recorded actuations are used to actuate the instrument to produce the music. In punched paper memories, such as the player piano or organ, there is typically one channel for each key on the piano or organ keyboard. In the electrification of such instruments, the changeable memories of various types have been used. For example, in Cooper U.S. Pat. No. 3,380,026, magnetic core elements are used as memory devices into which are "read" the condition of a plurality of actuator elements such as the stops or coupler switches of an organ. These stored actuations are "read out" at selected times to reactuate the actuator elements and reproduce the stored musical information. Inexpensive magnetic tape cassettes are disclosed in the prior art, as in Schmoyer U.S. Pat. No. 3,388,716 and in Englund U.S. Pat. No. 3,604,299, both of which disclose multiplex recording of key switch actuations, one of which is a frequency multiplexing scheme whereas the other is a time division multiplexing scheme. Various forms of encoding systems have been utilized, as, for example, in Peterson U.S. Pat. No. 3,683,096, a recurring frame of pulses has one pulse therein for each of the key switches of the musical instrument and a pulse modifier is utilized for modifying in a predetermined manner a specific pulse in each frame and these modified pulses are thereafter decoded. In Wheelwright U.S. Pat. No. 3,771,406, the key switch actuations are encoded into a five bit binary code which is loaded into a shift register for a parallel to a serial conversion; and in Maillet U.S. Pat. No. 3,789,719, key switch actuations are loaded directly into a shift register which, for a piano, would have 88 stages, one for each key, and additional ones for the other controls of the unit, and a key pulse is generated by the last stage of the shift register and these pulses along with the clock pulse are recorded directly upon the tape for subsequent playback. Finally, in Vincent U.S. Pat. No. 3,905,267, the keyboard switch actuations are passed through a multiplexer to serialize the key switch actuations which are then encoded in a bi-phase level encoder, best shown in FIG. 6 and the waveforms of FIG. 7 of U.S. Pat. No. 3,905,267. The bi-phase level data may be further encoded to provide a double density encoding shown in the waveform diagrams of FIG. 9 of U.S. Pat. No. 3,905,167 which is subsequently recorded upon a magnetic tape, played back, decoded and demultiplexed for subsequent reactuation of the piano keyboard.
With respect to all prior art encoding and decoding schemes, they all have serious drawbacks because they appear to be attempts to apply modern electronic technology to electronic player pianos but have failed to really grasp or apply the technology in such a way as to make it compatible with the playing back of recorded music. In some prior art systems, if the tape recorder is stopped while notes are being played, the last notes played may be held on which is undesirable at best and may cause damage to the system. Moreover, there are several places that will cause wrong notes to be struck in a musical system. In all cases, striking the wrong note sounds much worse than striking no note at all. The first problem is that when the recorder is started, or when the electronics are first powered on, there is no synchronization of the internal electronic counters to the data that is recovered from the recorder until the first sync code is received. If this is permitted to happen, it can cause wrong notes to be struck at the beginning of replay. The second problem is of more serious consequence, depending on the code used, because if in the middle of the replay the tape has a dropout, the electronics lose the sync and wrong notes are struck. In any fast scan multiplex system, all notes that are on at the time of the dropout may be shifted either up or down the scale until the sync code is recovered again. Finally, accidental detection of a wrong sync code due to noise, misadjustment of controls or the data information contained in the sync code causes the playing of wrong music because of the improper synchronization.
According to the present invention, a data detector is provided which has a retriggerable monostable multivibrator. The output of this retriggerable monostable multivibrator stays high after a positive going edge is applied to the input for a time determined by an RC timing circuit. As long as the positive going edges occur in less than the predetermined time, the monostable multivibrator is reset and begins timing out again. Thus, if due to a slow tape speed, data dropout, recorder stopping, or no information recorded on the tape, no edge occurs so the device times out and clears the sync counter and the input register, both of which prevent notes from being struck or being held in a closed state.
To insure that power is on at the start of the tape record or after data dropout of the tape that no wrong notes are struck, I provide a sync counter which counts three sync codes before allowing any note to be struck. This sync counter allows for the posssibility that a sync code could possibly occur randomly in the data information and rejects the false sync code. In essence, this requires two complete frames of data to be occurred before any notes may be struck after any disturbance causes the data detector or sync detector gates to indicate a malfunction.
In the bi-phase level coded waveform as disclosed in the Vincent patent, there are two significant drawbacks, the first of which is that the phase of the signal must be maintained by the system if it be recorded on tape and, secondly, if a dropout occurs the 1-0 relationship cannot be recovered until a 1-0 or 0-1 transition occurs in the NRZ waveform. What actually occurs in the playing of music is that all zeros (no music) become all ones (all notes being played). This also occurs during the stopping and starting of the recorder.
I have discerned that a number of the problems involved in coding systems for musical performances are that the bi-phase level code requires transition to occur in both position and sense so that in the playing of music, all zeros (no music) become all ones (all notes being played). I have determined that the problem with this coding scheme is that in the recording of keyboard music, the information is highly weighted with zeros (no key closures) and, therefore, in accordance with the invention, a code used for a slow recorder is such that the data (ones and zeros) would look like all zeros. The bi-phase (or mark) code, as disclosed at page 42 of the Telemetry Standards Document 106-71 (a portion of which is reproduced in FIG. 2 hereof), has as zeros information the wide spacing between transitions. There is always a transition at the beginning of each bit period which can be recovered as the self-clocking portion of the code. The information is therefore contained only in the interbit transitions and not in the direction and sense of transition as in the bi-phase level code. Moreover, the data may be inverted and still be satisfactorily recovered. If a data dropout occurs, the data detector can immediately regain correct phasing without errors.
The above and other objects, advantages and features of the invention will become more apparent when considered in light of the accompanying drawings wherein: